import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource;

import java.util.stream.Stream;

public class junitTest {
    public static Stream<Arguments> Generator() {
        return Stream.of(Arguments.arguments(1,"张三"),
                Arguments.arguments(2,"李四"),
                Arguments.arguments(3,"王五"));
    }

    @Test
   public void Test01(){
        System.out.println("这是第一个junit测试");  //这里的修饰符不能为private

    }
    @Test
    public void Test02(){
        System.out.println("这是第二个junit测试");  //这里的修饰符不能为private

    }
    @Test
    public void Test03(){
        System.out.println("这是第三个junit测试");  //这里的修饰符不能为private

    }
    @Disabled
    public void Test04(){
        System.out.println("这是第四个junit测试（忽略）");  //这里的修饰符不能为private

    }
    @AfterAll
    public static void Test05(){
        System.out.println("这是后执行的");  //这里的修饰符不能为private
    }
    @BeforeAll
    public static void setup(){
        System.out.println("这是先 执行的");  //这里的修饰符不能为private
    }
    @BeforeEach
    public  void Test06(){
        System.out.println("beforeEach执行的");  //这里的修饰符不能为private
    }

    @AfterEach
    public  void Test07(){
        System.out.println("AfterEach执行的");  //这里的修饰符不能为private
    }

       @ParameterizedTest
    @ValueSource(ints = {1,2,3})
    public void Test08(int num){
           System.out.println(num);
       }

       @ParameterizedTest
    @CsvFileSource(resources = "Test13.csv")
    void Test09(String name){
           System.out.println(name);
       }
       
       @ParameterizedTest
    @MethodSource("Generator")
    public void Test09(int num,String name){
           System.out.println(num+" "+name);
       }

}
